<?php
class Paciente extends AppModel {
	var $name = 'Paciente'; //PHP4 Compatibility
	var $primaryKey= 'paciente_id';
	var $belongsTo = array('AdministradoraServiciosDeSalud'=> array(
								'className'=>'AdministradoraDeServiciosDeSalud',
								'foreignKey'=>'ADMIN_DE_SERV_DE_SALUD_ID'
								),
							'Ocupacion',
							'Usuario',
							'Lugar');
	var $hasMany = array ('Observacion','Evento');
	
	function beforeSave(){
			//En el caso de que no se seleccion una ocupacion, no guarde datos en este campo
			if ($this->data['Paciente']['ocupacion_id']==0) unset($this->data['Paciente']['ocupacion_id']);
			//En el caso de que no se seleccione una administradora de servicios de salud, no guarde datos en este campo
			if ($this->data['Paciente']['admin_de_serv_de_salud_id']==0) unset($this->data['Paciente']['admin_de_serv_de_salud_id']);
			//En el caso en el que la persona este viva, no guarde informaciòn acerca de su defunciòn
			if ($this->data['Paciente']['condicion_final']=1){
				unset($this->data['Paciente']['numero_de_certificado_de_defuncion']);
				unset($this->data['Paciente']['causa_basica_de_muerte']);
				unset($this->data['Paciente']['fecha_de_defuncion']);
				unset($this->data['Paciente']['nombre_del_profesional_que_diligencio_la_ficha']);
				unset($this->data['Paciente']['telefono_del_profesional_que_diligencio_la_ficha']);
			}
			//En el caso en el que el id del lugar sea 0 verifique que haya escrito una dirección
			if ($this->data['Paciente']['lugar_id']==0){
				if($this->data['Paciente']['nombre_direccion']!=""){ //En el caso que de información sobre la dirección
					$this->data['Lugar']['nombre_del_lugar']=$this->data['Paciente']['nombre_direccion'];
					$this->data['Lugar']['tipo_de_lugar']=7;
					if($this->data['Paciente']['codigo_departamento']!=0){//Si dió el departamento de la dirección, almacenelo como el padre de la dirección
						$this->data['Lugar']['parent_id']=$this->data['Paciente']['codigo_departamento'];	
					}
					if($this->data['Paciente']['codigo_municipio']!=0){ // Si fue màs especìfico y dió el municipio de la dirección, almacene el ide de este como el padre de la dirección
						$this->data['Lugar']['parent_id']=$this->data['Paciente']['codigo_municipio'];	
					}
					//Si no dió ni departamento ni municipio deje el parent__id nulo
					$modeloLugar= ClassRegistry::init('Lugar');
					$modeloLugar->save($this->data);
					$this->data['Paciente']['lugar_id']=$modeloLugar->id;
				}else{
					unset($this->data['Paciente']['lugar_id']);	
				}
			}
				
			return true;
			//TODO: Manejar los valores por defecto de fecha de nacimiento
	}
	function afterSave(){
		if(isset($this->data['Paciente']['contenido_de_la_observacion']) && $this->data['Paciente']['contenido_de_la_observacion']!=""){ //Si hay algo escrito en el campo de observacion
					
					$this->data['Observacion']['usuario_id']=$this->data['Paciente']['usuario_id'];
					$this->data['Observacion']['paciente_id']=$this->id;
					$this->data['Observacion']['contenido_de_la_observacion']=$this->data['Paciente']['contenido_de_la_observacion'];
					$modeloObservacion=ClassRegistry::init('Observacion');
					$modeloObservacion->create();
					$modeloObservacion->save($this->data);
		}
		return true;
	}

}
?>